use std::rc::Rc;
use crate::interfaces;
use interfaces::PhaseInterface::PhaseInterface;
use interfaces::TaskInterface::TaskInterface;


pub struct Phase {
    pub _tasks: Vec<Rc<dyn TaskInterface>>,
    pub _signature: &'static str,
}

impl PhaseInterface for Phase {
    fn signature(&self) -> &'static str { return self._signature; }
    fn tasks(&self) -> &Vec<Rc<dyn TaskInterface>> { return &self._tasks; }
    fn revert(&self) -> Result<(), (&'static str, i32)> { Ok(()) }
}
